package com.ccys.db.mapper;

import com.ccys.db.dto.doctor.completedOrEndCall.EndCallDto;
import com.ccys.db.dto.doctor.completedOrEndCall.MedicalServiceFindUnionAll;
import com.ccys.db.dto.web.productAndService.MedicalServiceDto;
import com.ccys.db.entity.TblMedicalService;
import com.ccys.db.vo.doctor.consultStage.DoctorMedicalServiceTypeVo;
import com.ccys.db.vo.doctor.consultStage.GetMedicalServiceByPackageVo;
import com.ccys.db.vo.doctor.consultStage.GetMedicalServiceVo;
import com.ccys.db.vo.web.productAndService.GetMedicalServiceListVo;
import com.ccys.db.vo.web.productAndService.MedicalServiceVo;
import org.apache.ibatis.annotations.Param;
import tk.mybatis.mapper.common.Mapper;
import tk.mybatis.mapper.common.MySqlMapper;

import java.util.List;

/**
* Created by Mybatis Generator on 2023/12/08
*/
public interface TblMedicalServiceMapper extends Mapper<TblMedicalService>, MySqlMapper<TblMedicalService> {

    List<MedicalServiceVo> getList(MedicalServiceDto dto);

    List<GetMedicalServiceListVo> getMedicalServiceList();

    DoctorMedicalServiceTypeVo getDoctorMedicalServiceTypeByBookingId(String bookingId);

    String getMedicalServiceExclusionList(String bookingId);

    List<GetMedicalServiceVo> getMedicalService(String medicalServiceExclusionList,Integer allowWalkInServices,Integer allowHomeBasedService);


    List<GetMedicalServiceByPackageVo> getMedicalServiceByPackage(String packageId);

    List<MedicalServiceFindUnionAll> findEndCallOfflineBookingUnionAll(@Param("medicalServiceList") EndCallDto.MedicalServiceList medicalServiceList,
                                                                 @Param("medicalServiceExclusionListId") String medicalServiceExclusionListId,
                                                                 @Param("medicalServiceInclusionListId") String medicalServiceInclusionListId);
}
